<template>
    <el-submenu v-if="menu.list && menu.list.length >= 1" :index="menu.url.replace('/','-')"
                :popper-class="'site-sidebar--' + sidebarLayoutSkin + '-popper'">
        <template slot="title">
            <icon-svg :name="menu.icon || ''" class="site-sidebar__menu-icon"/>
            <span>{{ menu.name }}</span>
        </template>
        <sub-menu v-for="item in menu.list" :key="item.menuId" :menu="item" :dynamicMenuRoutes="dynamicMenuRoutes"/>
    </el-submenu>
    <el-menu-item v-else :index="menu.url.replace('/','-')" @click="gotoRouteHandle(menu)">
        <icon-svg :name="menu.icon || ''" class="site-sidebar__menu-icon"/>
        <span>{{ menu.name }}</span>
    </el-menu-item>
</template>

<script>
  import SubMenu from './main-sidebar-sub-menu'

  export default {
    name: 'sub-menu',
    props: {
      menu: {
        type: Object,
        required: true
      },
      dynamicMenuRoutes: {
        type: Array,
        required: true
      }
    },
    components: {
      SubMenu
    },
    computed: {
      sidebarLayoutSkin: {
        get () {
          return this.$store.state.common.sidebarLayoutSkin
        }
      }
    },
    methods: {
      // 通过menuId与动态(菜单)路由进行匹配跳转至指定路由
      gotoRouteHandle (menu) {
        this.$router.push(`/${menu.parentId}/${menu.url.replace('/', '-')}`)
        // var route = this.dynamicMenuRoutes.filter(item => item.meta.menuId === menu.menuId)
        // if (route.length >= 1) {
        //   this.$router.push({name: route[0].name})
        // }
      }
    }
  }
</script>
